The present disclosure relates to a computer graphics system, and more particularly, to displaying virtual reality images using an integrated graphics processing unit and a dedicated graphics processing unit.
Use of computing devices is becoming more ubiquitous by the day. Computing devices range from standard desktop computers to wearable computing technology and beyond. One area of computing devices that has grown in recent years are gaming devices and virtual reality (VR) devices, which rely on a graphics processing unit (GPU) to render graphics from a computing device to a display device based on rendering instructions received from the computing device. In gaming devices, a scene produced on a display device can be oriented or modified based on user input (e.g., movement of a gamepad button or stick to cause movement of the orientation of the scene, introduction of items into the scene, etc.). Similarly, in VR devices, the scene produced on a display device can be oriented or modified based on user input, where the input may include detecting movement of the user's head (e.g., detected movement of the VR device).
Some personal computers (PCs), especially laptops and tablet type devices, include an integrated GPU that is integrated with a central processing unit (CPU) and a discrete GPU that is typically located on a separate card. Typically, a monitor port is connected to the integrated GPU. For applications with low demand for rendering, this hardware architecture reduces the need to power the discrete GPU, which may provide substantial power savings. For VR applications, however, the integrated GPU is typically unable to handle image rendering at the necessary speed, so image rendering is typically performed at the discrete GPU. A VR rendering may include a late-stage reprojection step, in which source images (including a left eye image and a right eye image) that were rendered based on initial position information, e.g., a pose, are updated based on a most recent position information of the head mounted display (HMD) and/or gamepad input. The rendered images must then be copied to the integrated GPU for display on the VR HMD via the video port. The cross adapter between the discrete GPU and the integrated GPU may cause a significant latency, such as on the order of 8-10 milliseconds (ms). The image processing at the discrete GPU must be completed well before a video synchronization (V-SYNC) so that the correct image is available at the integrated GPU at the V-SYNC. VR HMDs typically operate at 90 Hz, so the 8-10 ms latency may be perceptible to a user. For example, the rendered images may not keep up with head motion.
Thus, there is a need in the art for improvements in graphics processing for virtual reality applications on computer devices.